本日閱讀進度:第二章 撰寫真正的程式碼(43~60頁)
重點摘要:
接著要挑戰做一個簡單的戰艦小遊戲。
有一個1x7的網格,戰艦佔用3個連續網格,使用者需猜測是哪3格,全部猜對可擊沈戰艦。
遊戲該怎麼做呢?
弄清楚遊戲的執行流程
①使用者啟動遊戲
A. 遊戲會把戰艦隨機地放在網格的某個位置上。
②開始玩遊戲
反覆進行以下步驟,直到戰艦被擊沈:
A. 提示使用者猜測1個數字。
B. 檢查使用者所做的猜測,判斷結果是命中、失誤或擊沈。
③結束遊戲
根據猜測的次數給使用者一個評價。
撰寫虛擬碼
寫程式碼之前,先用自己熟悉的語言來描述程式的運作。如:
宣告3個變數,用於保存戰艦的每個網格(location)的位置。
...中略...
宣告1個變數,用於記錄船艦是否被擊沈。
var location1 = 3;
...中略...
var isSunk = false;
while (isSunk == false){
guess = prompt("準備、瞄準、射擊!(鍵入範圍0-6的數字):");
if (guess < 0 || guess > 6) {
alert("請鍵入一個有效的數字!");
} else {
guesses = guess + 1;
}
}
var stats = "你猜了" + guesses + "次便擊沈了戰艦," + "射擊準確率為" + (3/guesses);
alert(stats);
其他補充:prompt的運作原理
prompt函式和alert函式很像,但多了一個輸入框,輸入的內容(字串形式)會被函式呼叫的結果傳回。如果使用者關掉對話框或是沒有輸入任何值,那麼null會被當成結果回傳。
到第8章的時候會做一個7x7網格的戰艦遊戲,到底能不能撐到那時候呢?讓我們繼續看下去......
本文同步發表於cichen